<template>
	<div class="list-page">
		<tool-bar nav="" title="Api故事">
			<el-button @click="add_click()">添加</el-button>
		</tool-bar>
		<my-list
			ref="list"
			url="/dev/api-story/list"
			@param="preload"
			@loaded="procData"
			:page-size="10"
			:store="true"
			:query="$data.query"
		>
			<el-table-column label="name" align="center" width="160px">
				<template v-slot="scope">
					<div class="link" @click="edit_click(scope.row)">{{ scope.row.name }}</div>
				</template>
			</el-table-column>
            <el-table-column align="center" label="api地址">
                <template v-slot="scope">
                   {{scope.row.apiAddress}}
                </template>
            </el-table-column>
			<el-table-column align="center" label="Api数量" width="100">
                <template v-slot="scope">
                    {{scope.row.apis.length}}
                </template>
            </el-table-column>
			<el-table-column label="操作" align="center" width="100">
				<template v-slot="scope">
					<el-button type="warning" plain round @click="delete_click(scope.row)" size="small">
						删除
					</el-button>
				</template>
			</el-table-column>
			<template #query="scope">
                <kv label="产品线"><el-input v-model="scope.query.productLineCode"></el-input> </kv>
                <kv label="名称"><el-input v-model="scope.query.name"></el-input> </kv>
                <kv label="包含接口"><el-input v-model="scope.query.search"></el-input> </kv>
			</template>
		</my-list>
	</div>
</template>

<script setup>
/**
 * Created by CodeGenerator at 2023-10-19 21:41:10
 */




//定义 vue2的this,当前组件
const $self = getCurrentInstance();

//定义 $attrs
const $attrs = useAttrs();



//定义data
const $data = reactive({
    //默认查询条件,默认存储
    query:{},
    HttpMethod: jv.enum.HttpMethod.getData(),
    ApiParameterTypeEnum: jv.enum.ApiParameterTypeEnum.getData(),
    ApiParameterStringTypeEnum: jv.enum.ApiParameterStringTypeEnum.getData(),
    ApiJsonLocationEnum: jv.enum.ApiJsonLocationEnum.getData(),
});


const $props = defineProps({

});


const list = ref();

//定义事件
const $emit = defineEmits(["update:modelValue","loaded"]);



const preload = function(param) {
//保存查询条件
//添加查询参数，修改分页参数等。
//param.type = jv.$route.params.type
};
const procData = function(res) {
    res.data.data.forEach(it => {
//如果是组合实体，设置 it.id=...
    });
};
const loadData = function(pageNumber) {
    list.value.loadData(pageNumber);
};
const add_click = function() {
    jv.$router.push("/dev/api-story/add")
};
const edit_click = function(row) {
//记录上次点击行
    let rowId = row.id;
    list.value.setLastRow(row);
    jv.$router.push("/dev/api-story/edit/" + rowId)
};
const delete_click = async function(row) {
    let rowId = row.id,rowName = row.name;
    await jv.confirm('确认删除 ' + rowName + ' 吗？');
    let res = await jv.$http.post("/dev/api-story/delete/" + rowId)
    loadData();
};

onMounted( function() {
//加载存储的查询条件
} )



</script>

<style scoped lang="scss">
</style>
